package com.agent.payment.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

/**
 * 支付网关配置类
 * @author Jeff_Wan
 * @description 加载Asiabill和PayPal支付网关的配置参数
 */
@Data
@Configuration
@ConfigurationProperties(prefix = "payment")
public class PaymentGatewayConfig {
    /**
     * Asiabill支付配置
     */
    private AsiabillConfig asiabill;
    /**
     * PayPal支付配置
     */
    private PaypalConfig paypal;
    
    /**
     * Asiabill配置子类
     */
    @Data
    public static class AsiabillConfig {
        /**
         * 商户号
         */
        private String merchantNo;
        /**
         * 网关号
         */
        private String gatewayNo;
        /**
         * 签名密钥
         */
        private String signKey;
        /**
         * 返回URL
         */
        private String returnUrl;
        /**
         * 通知URL
         */
        private String notifyUrl;
    }
    
    /**
     * PayPal配置子类
     */
    @Data
    public static class PaypalConfig {
        /**
         * 客户端ID
         */
        private String clientId;
        /**
         * 客户端密钥
         */
        private String clientSecret;
        /**
         * 返回URL
         */
        private String returnUrl;
        /**
         * 取消URL
         */
        private String cancelUrl;
        /**
         * Webhook ID
         */
        private String webhookId;
    }
}